1 Crow Canyon Archaeological Center
2 University of Montana
3 Washington State University
4 Utah State University

Correspondence: Kyle Bocinsky <>

Methods

Here, we directly compare two large collections of radiocarbon and tree-ring dates drawn from the Upland US Southwest (UUSW). After harmonizing those datasets to with one another and calibrating the radiocarbon dates, we calculate binned summed probability distributions across the UUSW and two regions intensly studied during the Village Ecodynamics Project (VEP) — the Central Mesa Verde and the Northern Rio Grande [1]. We compare the proxy records to eachother, and to population estimates primarily derived from architecture and ceramic data [2]. The radiocarbon dates we analyze here are drawn from the [DARCY: DATABASE AND REFERENCE HERE], and are available [HERE]; The tree-ring data are those presented in [3] and archived on the Digital Archaeological Record (https://doi.org/10.6067/XCV82J6D7B).

Study Area

The UUSW was geographically defined by [3] as the region between 105–113ºW and 32–38ºN. Here, we refine that definition in two ways. First, because location data for our radiocarbon database are only resolved to the county level for most sites, we define our study region to include all counties whose geographic centroids fall within the region from [3]. Second, because of the generally poor tree-ring date record in the Sonoran Desert, we roughly exclude the Phoenix and Tucson basins by dropping Maricopa, Pinal, and Pima counties in Arizona. We also analyze subsets of both datasets for the Village Ecodynamic Project (VEP) study areas in the Central Mesa Verde (CMV) and Northern Rio Grande (NRG) regions [1]. Figure 1 shows the original UUSW from [3] and revised study area used in this analysis, as well as the two VEP study areas.

The UUSW as defined in this study (region with black border). The white dashed area represents the UUSW as defined in @Bocinsky2016_SA. VEP study areas are white boxes. CMV: Central Mesa Verde; NRG: Northern Rio Grande.

Figure 1: The UUSW as defined in this study (region with black border). The white dashed area represents the UUSW as defined in [3]. VEP study areas are white boxes. CMV: Central Mesa Verde; NRG: Northern Rio Grande.

Datasets

The radiocarbon data presented here are derived from the [RADIOCARBON DATA DETAILS HERE]. Data from Arizona, Colorado, and New Mexico in the [DATABASE] are spatially resolved to only the county level; we therefor translated the Utah dates to their counties as well, and then spatially cropped the data to our study area.

#> [1] "Calibrating radiocarbon ages..."
#> 
#> [1] "Done."

We draw on the tree-ring date database presented in [3] and archived in the Digital Archaeological Record (https://doi.org/10.6067/XCV82J6D7B). The tree-ring data we use here were compiled by Tim Kohler and Rebecca Higgins from many contributors, and the vast majority of dates were determined by researchers in the Laboratory of Tree Ring Research at the University of Arizona. The original dataset contained 32,863 cutting, near-cutting, and non-cutting dates from across the US Southwest. Here, we only use the dates that are most likely to be accurate — cutting dates (‘B’, ‘G’, ‘L’, ‘c’, or ‘r’ dates, with or without a ‘+’) for which we know the year the tree died, and near-cutting dates (‘v’ or ‘v+’ dates) which are likely within 0–3 years of the true date of the outermost ring. The [3] data contain site locations; for this analysis, we first spatially cropped the database to our study area, and then translated those locations to the county level. We converted the original date determinations to BP to match radiocarbon conventions.

Archaeological site locations are protected by US federal and state statutes. In order to protect these sensitive data, we pre-processed the both the radiocarbon and tree-ring data; data included in this compendium do not include site locations, and researchers will need to gain permission from the State Historic Preservation Office (SHPO) of each state in order to access the site location data.

Finally, due to much of the radiocarbon data only being resolved to the county level, we had to approximate inclusion in the VEP CMV and NRG study areas. The CMV study area conforms well to Montezuma county, Colorado; the NRG overlaps with Los Alamos, Rio Arriba, Sandoval, Santa Fe, and Taos counties in New Mexico. Our final dataset includes 1,531 radiocarbon dates from 2260–90 BP (uncalibrated; 309 BC–1860 AD) and 15,077 tree-ring dates from 1749 – 152 BP (201–1798 AD). Table 1 presents the counts of each date type in the CMV and NRG study areas.

Table 1: Counts of radiocarbon and tree-ring dates in this study.
Study Area Radiocarbon Tree-ring
UUSW Total 1,531 15,077
CMV 36 4,435
NRG 83 2,306

Date densities across the study area were very uneven, with high counts of radiocarbon dates deriving from Navajo County, Arizona, and almost a third of the tree-ring dates in our study being from Montezuma County, Colorado. Below, we attempt to overcome some of these sampling issues by binning dates by site and occupation phase. Still, these disparities likely demonstrate more fundemental differences in research design across archaeological projects. Figure 2 presents the number of radiocarbon and tree-ring dates by county within our study area. Figure 3 presents the number of unique sites with radiocarbon and tree-ring dates by county within our study area.

The number of radiocarbon and tree-ring dates by county in this study.The number of radiocarbon and tree-ring dates by county in this study.

Figure 2: The number of radiocarbon and tree-ring dates by county in this study.

The number of sites with radiocarbon and tree-ring dates by county in this study.The number of sites with radiocarbon and tree-ring dates by county in this study.

Figure 3: The number of sites with radiocarbon and tree-ring dates by county in this study.

Preparing the SPDs

To prepare the radiocarbon dataset, we used functions provided by the rcarbon package for R [4]. We calibrated the radiocarbon dates using the methods of [5], using the ‘intcal13’ calibration curve. To control for inconsistent sample size across the archaeological sites represented in the database, we aggregated calibrated radiocarbon dates known to be from the same phase of same archaeological site using the robinson2020::binPrep function using the “single linkage” agglomeration method with an h-value of 100. This clusters dates from the same site whose mean values (uncalibrated) are within 100 years of each other, and splits site occupations into distinct phases separated by 100 years or more. We constructed summed probability distributions (SPDs) from the calibrated dates using the rcarbon::spd function. We averaged probability distributions of binned dates, and then constructed SPDs from the site-phase distributions.

We treated the tree-ring dates much in the same way as the radiocarbon dates. We modeled faux-calibrated tree-ring date probabilities as discrete degenerate distributions (\(\Pr(X=k_0)=1\)) with \(k_0\) equal to the tree-ring date — in other words, a probability of \(1\) at the date value, and \(0\) elsewhere. Thinking of tree ring dates this way allows us to use the same binning and SPD algorithms as for radiocarbon dates.1 Here, we did just that, binning the dates into site-phases using the robinson2020::binPrep function, and constructing SPDs using rcarbon::spd, both with the same parameter selections as used for the radiocarbon samples.

Comparing radiocarbon and tree-ring SPDs

Radiocarbon and tree-ring density distributions in the UUSW, CMV, and NRG regions, and VEP population estimates for the CMV and NRG. The radiocarbon and tree-ring density distributions for the UUSW and CMV are normalized such that the area under their densities is equal to the area under the VEP population estimates (i.e., the cumulative population). Years are given in AD.

Figure 4: Radiocarbon and tree-ring density distributions in the UUSW, CMV, and NRG regions, and VEP population estimates for the CMV and NRG. The radiocarbon and tree-ring density distributions for the UUSW and CMV are normalized such that the area under their densities is equal to the area under the VEP population estimates (i.e., the cumulative population). Years are given in AD.

Supplementary material: Bin-width sensitivity

Radiocarbon (A) and tree-ring (B) density distributions in the UUSW, given varying widths for binning dates within sites. The density distributions for the UUSW are normalized. Years are given in AD.

Figure 5: Radiocarbon (A) and tree-ring (B) density distributions in the UUSW, given varying widths for binning dates within sites. The density distributions for the UUSW are normalized. Years are given in AD.

References

1. Schwindt DM, Bocinsky RK, Ortman SG, Glowacki DM, Varien MD, Kohler TA. 2016 The social consequences of climate change in the Central Mesa Verde region. American Antiquity 81, 74–96.

2. Ortman SG. 2014 Uniform probability density analysis and population history in the Northern Rio Grande. Journal of Archaeological Method and Theory

3. Bocinsky RK, Rush J, Kintigh KW, Kohler TA. 2016 Exploration and exploitation in the macrohistory of the pre-Hispanic Pueblo Southwest. Science Advances 2, e1501532.

4. Bevan A, Crema ER. 2018 rcarbon: Methods for calibrating and analysing radiocarbon dates. See https://github.com/ahb108/rcarbon.

5. Bronk Ramsey C. 2008 Radiocarbon dating: Revolutions in understanding. Archaeometry 50, 249–275.

6. Marwick B. 2017 Computational reproducibility in archaeological research: Basic principles and a case study of their implementation. Journal of Archaeological Method and Theory 24, 424–450.

7. Marwick B. 2019 rrtools: Creates a Reproducible Research Compendium. See https://github.com/benmarwick/rrtools.

Colophon

This report is part of a research compendium developed using the rrtools package for reproducible research [6]. This report was generated on 2020-03-17 17:42:04 using the following computational environment and dependencies:

#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value                       
#>  version  R version 3.6.2 (2019-12-12)
#>  os       macOS Catalina 10.15.3      
#>  system   x86_64, darwin15.6.0        
#>  ui       X11                         
#>  language (EN)                        
#>  collate  en_US.UTF-8                 
#>  ctype    en_US.UTF-8                 
#>  tz       America/Denver              
#>  date     2020-03-17                  
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package        * version    date       lib source        
#>  abind            1.4-5      2016-07-21 [1] CRAN (R 3.6.0)
#>  assertthat       0.2.1      2019-03-21 [1] CRAN (R 3.6.0)
#>  backports        1.1.5      2019-10-02 [1] CRAN (R 3.6.0)
#>  bookdown         0.18       2020-03-05 [1] CRAN (R 3.6.0)
#>  callr            3.4.2      2020-02-12 [1] CRAN (R 3.6.0)
#>  class            7.3-15     2019-01-01 [1] CRAN (R 3.6.2)
#>  classInt         0.4-2      2019-10-17 [1] CRAN (R 3.6.0)
#>  cli              2.0.2      2020-02-28 [1] CRAN (R 3.6.0)
#>  codetools        0.2-16     2018-12-24 [1] CRAN (R 3.6.2)
#>  colorspace       1.4-1      2019-03-18 [1] CRAN (R 3.6.0)
#>  crayon           1.3.4      2017-09-16 [1] CRAN (R 3.6.0)
#>  crul             0.9.0      2019-11-06 [1] CRAN (R 3.6.0)
#>  curl             4.3        2019-12-02 [1] CRAN (R 3.6.0)
#>  DBI              1.1.0      2019-12-15 [1] CRAN (R 3.6.0)
#>  deldir           0.1-25     2020-02-03 [1] CRAN (R 3.6.0)
#>  desc             1.2.0      2018-05-01 [1] CRAN (R 3.6.0)
#>  devtools         2.2.2      2020-02-17 [1] CRAN (R 3.6.0)
#>  digest           0.6.25     2020-02-23 [1] CRAN (R 3.6.0)
#>  doParallel       1.0.15     2019-08-02 [1] CRAN (R 3.6.0)
#>  dplyr            0.8.5      2020-03-07 [1] CRAN (R 3.6.2)
#>  e1071            1.7-3      2019-11-26 [1] CRAN (R 3.6.0)
#>  egg              0.4.5      2019-07-13 [1] CRAN (R 3.6.0)
#>  ellipsis         0.3.0      2019-09-20 [1] CRAN (R 3.6.0)
#>  evaluate         0.14       2019-05-28 [1] CRAN (R 3.6.0)
#>  fansi            0.4.1      2020-01-08 [1] CRAN (R 3.6.0)
#>  farver           2.0.3      2020-01-16 [1] CRAN (R 3.6.0)
#>  foreach          1.4.8      2020-02-09 [1] CRAN (R 3.6.0)
#>  foreign          0.8-72     2019-08-02 [1] CRAN (R 3.6.2)
#>  fs               1.3.2      2020-03-05 [1] CRAN (R 3.6.2)
#>  geojson          0.3.2      2019-01-31 [1] CRAN (R 3.6.0)
#>  geojsonio        0.9.0      2020-02-13 [1] CRAN (R 3.6.0)
#>  geojsonlint      0.4.0      2020-02-13 [1] CRAN (R 3.6.0)
#>  ggplot2        * 3.3.0      2020-03-05 [1] CRAN (R 3.6.2)
#>  glue             1.3.2      2020-03-12 [1] CRAN (R 3.6.0)
#>  goftest          1.2-2      2019-12-02 [1] CRAN (R 3.6.0)
#>  gridExtra        2.3        2017-09-09 [1] CRAN (R 3.6.0)
#>  gtable           0.3.0      2019-03-25 [1] CRAN (R 3.6.0)
#>  here             0.1        2017-05-28 [1] CRAN (R 3.6.0)
#>  highr            0.8        2019-03-20 [1] CRAN (R 3.6.0)
#>  hms              0.5.3      2020-01-08 [1] CRAN (R 3.6.0)
#>  htmltools        0.4.0      2019-10-04 [1] CRAN (R 3.6.0)
#>  httpcode         0.2.0      2016-11-14 [1] CRAN (R 3.6.0)
#>  iterators        1.0.12     2019-07-26 [1] CRAN (R 3.6.0)
#>  jqr              1.1.0      2018-10-22 [1] CRAN (R 3.6.0)
#>  jsonlite         1.6.1      2020-02-02 [1] CRAN (R 3.6.0)
#>  jsonvalidate     1.1.0      2019-06-25 [1] CRAN (R 3.6.0)
#>  KernSmooth       2.23-16    2019-10-15 [1] CRAN (R 3.6.2)
#>  knitr            1.28       2020-02-06 [1] CRAN (R 3.6.0)
#>  labeling         0.3        2014-08-23 [1] CRAN (R 3.6.0)
#>  lattice          0.20-40    2020-02-19 [1] CRAN (R 3.6.0)
#>  lazyeval         0.2.2      2019-03-15 [1] CRAN (R 3.6.0)
#>  lifecycle        0.2.0      2020-03-06 [1] CRAN (R 3.6.2)
#>  magrittr       * 1.5        2014-11-22 [1] CRAN (R 3.6.0)
#>  maptools         0.9-9      2019-12-01 [1] CRAN (R 3.6.0)
#>  Matrix           1.2-18     2019-11-27 [1] CRAN (R 3.6.2)
#>  memoise          1.1.0      2017-04-21 [1] CRAN (R 3.6.0)
#>  mgcv             1.8-31     2019-11-09 [1] CRAN (R 3.6.2)
#>  munsell          0.5.0      2018-06-12 [1] CRAN (R 3.6.0)
#>  nlme             3.1-142    2019-11-07 [1] CRAN (R 3.6.2)
#>  pillar           1.4.3      2019-12-20 [1] CRAN (R 3.6.0)
#>  pkgbuild         1.0.6      2019-10-09 [1] CRAN (R 3.6.0)
#>  pkgconfig        2.0.3      2019-09-22 [1] CRAN (R 3.6.0)
#>  pkgload          1.0.2      2018-10-29 [1] CRAN (R 3.6.0)
#>  polyclip         1.10-0     2019-03-14 [1] CRAN (R 3.6.0)
#>  prettyunits      1.1.1      2020-01-24 [1] CRAN (R 3.6.0)
#>  processx         3.4.2      2020-02-09 [1] CRAN (R 3.6.0)
#>  ps               1.3.2      2020-02-13 [1] CRAN (R 3.6.0)
#>  purrr            0.3.3      2019-10-18 [1] CRAN (R 3.6.0)
#>  R6               2.4.1      2019-11-12 [1] CRAN (R 3.6.0)
#>  rcarbon          1.3.0      2020-03-11 [1] local         
#>  RColorBrewer     1.1-2      2014-12-07 [1] CRAN (R 3.6.0)
#>  Rcpp             1.0.3      2019-11-08 [1] CRAN (R 3.6.0)
#>  readr            1.3.1      2018-12-21 [1] CRAN (R 3.6.0)
#>  remotes          2.1.1      2020-02-15 [1] CRAN (R 3.6.0)
#>  rgeos            0.5-2      2019-10-03 [1] CRAN (R 3.6.0)
#>  rlang            0.4.5      2020-03-01 [1] CRAN (R 3.6.0)
#>  rmapshaper       0.4.3      2020-01-28 [1] CRAN (R 3.6.0)
#>  rmarkdown        2.1        2020-01-20 [1] CRAN (R 3.6.0)
#>  robinson2020   * 1.0.0.9000 2020-03-11 [1] local         
#>  rpart            4.1-15     2019-04-12 [1] CRAN (R 3.6.2)
#>  rprojroot        1.3-2      2018-01-03 [1] CRAN (R 3.6.0)
#>  scales           1.1.0      2019-11-18 [1] CRAN (R 3.6.0)
#>  sessioninfo      1.1.1      2018-11-05 [1] CRAN (R 3.6.0)
#>  sf               0.8-1      2020-01-28 [1] CRAN (R 3.6.0)
#>  sp               1.4-1      2020-02-28 [1] CRAN (R 3.6.0)
#>  spatstat         1.63-3     2020-03-01 [1] CRAN (R 3.6.0)
#>  spatstat.data    1.4-3      2020-01-26 [1] CRAN (R 3.6.0)
#>  spatstat.utils   1.17-0     2020-02-07 [1] CRAN (R 3.6.0)
#>  stringi          1.4.6      2020-02-17 [1] CRAN (R 3.6.0)
#>  stringr          1.4.0      2019-02-10 [1] CRAN (R 3.6.0)
#>  tensor           1.5        2012-05-05 [1] CRAN (R 3.6.0)
#>  testthat         2.3.2      2020-03-02 [1] CRAN (R 3.6.0)
#>  tibble           2.1.3      2019-06-06 [1] CRAN (R 3.6.0)
#>  tidyr            1.0.2      2020-01-24 [1] CRAN (R 3.6.0)
#>  tidyselect       1.0.0      2020-01-27 [1] CRAN (R 3.6.0)
#>  units            0.6-5      2019-10-08 [1] CRAN (R 3.6.0)
#>  usethis          1.5.1      2019-07-04 [1] CRAN (R 3.6.0)
#>  V8               3.0.2      2020-03-14 [1] CRAN (R 3.6.0)
#>  vctrs            0.2.4      2020-03-10 [1] CRAN (R 3.6.0)
#>  viridisLite      0.3.0      2018-02-01 [1] CRAN (R 3.6.0)
#>  withr            2.1.2      2018-03-15 [1] CRAN (R 3.6.0)
#>  xfun             0.12       2020-01-13 [1] CRAN (R 3.6.0)
#>  yaml             2.2.1      2020-02-01 [1] CRAN (R 3.6.0)
#> 
#> [1] /Library/Frameworks/R.framework/Versions/3.6/Resources/library

The current Git commit details are:

#> Local:    master /Users/bocinsky/git/robinson2020
#> Remote:   master @ origin (https://github.com/people3k/robinson2020)
#> Head:     [c59c042] 2020-03-11: updated readme

  1. One might consider alternative probability distributions for non-cutting or near-cutting dates. The probability mass function in such a case would be zero for years prior to the date of the outer ring of the sample, and non-zero for subsequent years, presumably decaying quickly. For instance, we could imagine a study that derives empirical probability distributions for non-cutting dates based on cutting-dates from the same contexts.↩︎